home *** CD-ROM | disk | FTP | other *** search
-
- local function charAt(s, i)
- return string.sub(s, i, i)
- end
-
- local function moveXY(model, symbols, destX, destY)
- -- symbol is e.g. 'UDLR'
- local result = false
- local locX, locY = model:getLoc()
- local w = model:getW()
- local h = model:getH()
-
- --print("TEST: move '"..symbols.."' "..locX..","..locY.." -> "..destX..","..destY)
-
- --TODO: find undirect path too
- if locX > destX and isWater(locX - 1, locY) then
- level_action_move(charAt(symbols, 3))
- elseif locX < destX and isWater(locX + w, locY) then
- level_action_move(charAt(symbols, 4))
- elseif locY > destY and isWater(locX, locY - 1) then
- level_action_move(charAt(symbols, 1))
- elseif locY < destY and isWater(locX, locY + h) then
- level_action_move(charAt(symbols, 2))
- else
- if locX ~= destX or locY ~= destY then
- error("moveXY - fish cannot move")
- end
- result = true
- end
- return result
- end
- local function bigMoveXY(x, y)
- return moveXY(big, 'UDLR', x, y)
- end
- local function smallMoveXY(x, y)
- return moveXY(small, 'udlr', x, y)
- end
- local function planDelay(delay)
- level_planShow(function(count)
- return count >= delay
- end)
- end
-
- local function showMove(move)
- level_planShow(function(count)
- return level_action_move(move)
- end)
- end
-
- --TODO: F1 for How to Play manual
- -- ---------------------------------------------------------------
- level_planShow(function(count)
- addm(0, "help1")
- return true
- end)
- planDelay(3)
- -- line 9
- level_planShow(function(count)
- return smallMoveXY(17, 25)
- end)
- planDelay(3)
- planDelay(3)
- -- line 49
- showMove('L')
- showMove('L')
- showMove('L')
- level_planShow(function(count)
- addv(0, "help2")
- return true
- end)
- level_planShow(function(count)
- return bigMoveXY(18, 21)
- end)
- showMove('D')
- showMove('L')
- showMove('D')
- -- line 63
- planDelay(1)
- planDelay(27)
- -- line 136
- planDelay(18)
- -- line 171
- level_planShow(function(count)
- return level_action_save()
- end)
- planDelay(6)
- -- line 185
- level_planShow(function(count)
- return smallMoveXY(9, 25)
- end)
- level_planShow(function(count)
- addm(0, "help3")
- return true
- end)
- planDelay(1)
- showMove('u')
- showMove('u')
- showMove('l')
- showMove('l')
- level_planShow(function(count)
- return smallMoveXY(7, 17)
- end)
- planDelay(3)
- -- line 231
- showMove('r')
- planDelay(5)
- -- line 231
- level_planShow(function(count)
- addv(0, "help4")
- return true
- end)
- planDelay(7)
- planDelay(3)
- -- line 265
- showMove('L')
- showMove('L')
- showMove('L')
- showMove('L')
- planDelay(13)
- -- line 301
- level_planShow(function(count)
- addm(0, "help5")
- return true
- end)
- planDelay(7)
- planDelay(10)
- -- line 337
- showMove('r')
- planDelay(13)
- showMove('r')
- planDelay(3)
- showMove('r')
- planDelay(13)
- -- line 401
- showMove('l')
- showMove('l')
- showMove('l')
- level_planShow(function(count)
- addm(0, "help6")
- return true
- end)
- showMove('d')
- showMove('d')
- showMove('r')
- showMove('r')
- level_planShow(function(count)
- return smallMoveXY(9, 25)
- end)
- planDelay(1)
- level_planShow(function(count)
- return smallMoveXY(7, 25)
- end)
- planDelay(6)
- -- line 453
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- planDelay(19)
- -- line 499
- showMove('d')
- planDelay(39)
- -- line 579
- level_planShow(function(count)
- return level_action_restart()
- end)
- planDelay(11)
- level_planShow(function(count)
- addv(0, "help7")
- return true
- end)
- planDelay(66)
- -- line 729
- level_planShow(function(count)
- return level_action_load()
- end)
- planDelay(8)
- level_planShow(function(count)
- addv(0, "help8")
- return true
- end)
- planDelay(7)
- planDelay(29)
- -- line 781
- level_planShow(function(count)
- return bigMoveXY(9, 23)
- end)
- showMove('D')
- showMove('D')
- showMove('L')
- showMove('L')
- level_planShow(function(count)
- return bigMoveXY(7, 30)
- end)
- showMove('R')
- showMove('R')
- showMove('R')
- planDelay(3)
- -- line 831
- showMove('U')
- planDelay(3)
- level_planShow(function(count)
- addm(0, "help9")
- return true
- end)
- planDelay(3)
- showMove('U')
- planDelay(5)
- planDelay(10)
- -- line 881
- showMove('l')
- planDelay(26)
- showMove('l')
- planDelay(3)
- -- line 943
- level_planShow(function(count)
- return smallMoveXY(7, 25)
- end)
- planDelay(3)
- level_planShow(function(count)
- addm(0, "help10")
- return true
- end)
- planDelay(5)
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- planDelay(16)
- -- line 1009
- showMove('l')
- planDelay(25)
- showMove('l')
- planDelay(44)
- -- line 1151
- level_planShow(function(count)
- return level_action_restart()
- end)
- planDelay(12)
- level_planShow(function(count)
- addv(0, "help11")
- return true
- end)
- planDelay(39)
- level_planShow(function(count)
- return level_action_load()
- end)
- planDelay(4)
- planDelay(5)
- -- line 1277
- level_planShow(function(count)
- return bigMoveXY(9, 23)
- end)
- showMove('D')
- showMove('D')
- showMove('L')
- showMove('L')
- level_planShow(function(count)
- return bigMoveXY(7, 30)
- end)
- showMove('R')
- showMove('R')
- showMove('R')
- planDelay(2)
- -- line 1325
- showMove('U')
- planDelay(1)
- showMove('U')
- planDelay(6)
- planDelay(3)
- level_planShow(function(count)
- addm(0, "help12")
- return true
- end)
- planDelay(4)
- -- line 1359
- showMove('l')
- showMove('u')
- showMove('l')
- showMove('u')
- planDelay(1)
- level_planShow(function(count)
- return smallMoveXY(8, 23)
- end)
- planDelay(1)
- level_planShow(function(count)
- return smallMoveXY(8, 17)
- end)
- planDelay(7)
- showMove('r')
- planDelay(8)
- showMove('r')
- planDelay(3)
- showMove('r')
- -- line 1436
- showMove('r')
- showMove('r')
- showMove('r')
- showMove('d')
- showMove('d')
- showMove('r')
- showMove('d')
- showMove('d')
- showMove('d')
- planDelay(1)
- showMove('r')
- showMove('r')
- showMove('r')
- level_planShow(function(count)
- return smallMoveXY(17, 25)
- end)
- -- line 1469
- level_planShow(function(count)
- addm(0, "help13")
- return true
- end)
- planDelay(7)
- showMove('d')
- planDelay(22)
- -- line 1531
- showMove('l')
- showMove('l')
- showMove('l')
- planDelay(11)
- showMove('r')
- showMove('r')
- showMove('d')
- planDelay(2)
- -- line 1569
- showMove('l')
- showMove('l')
- showMove('l')
- showMove('l')
- planDelay(45)
- -- line 1667
- level_planShow(function(count)
- return level_action_restart()
- end)
- planDelay(8)
- level_planShow(function(count)
- return level_action_load()
- end)
- planDelay(4)
- level_planShow(function(count)
- addv(0, "help14")
- return true
- end)
- planDelay(10)
- -- line 1717
- level_planShow(function(count)
- return smallMoveXY(7, 25)
- end)
- planDelay(5)
- showMove('l')
- planDelay(13)
- level_planShow(function(count)
- addm(0, "help15")
- return true
- end)
- showMove('u')
- showMove('u')
- showMove('u')
- planDelay(7)
- -- line 1815
- showMove('r')
- showMove('r')
- showMove('r')
- showMove('r')
- planDelay(5)
- planDelay(2)
- showMove('L')
- showMove('D')
- showMove('D')
- planDelay(2)
- -- line 1847
- showMove('L')
- showMove('L')
- showMove('L')
- showMove('L')
- showMove('L')
- planDelay(1)
- -- line 1857
- showMove('L')
- showMove('L')
- showMove('L')
- showMove('L')
- showMove('D')
- showMove('D')
- showMove('D')
- showMove('D')
- showMove('D')
- showMove('R')
- showMove('R')
- showMove('R')
- -- line 1895
- showMove('U')
- planDelay(2)
- level_planShow(function(count)
- addm(0, "help16")
- return true
- end)
- planDelay(6)
- planDelay(4)
- -- line 1923
- showMove('d')
- showMove('d')
- showMove('d')
- showMove('l')
- showMove('l')
- showMove('d')
- showMove('d')
- planDelay(7)
- -- line 1955
- showMove('r')
- planDelay(29)
- showMove('r')
- planDelay(3)
- -- line 2023
- level_planShow(function(count)
- return smallMoveXY(4, 27)
- end)
- showMove('d')
- showMove('d')
- showMove('d')
- planDelay(4)
- planDelay(3)
- showMove('U')
- planDelay(2)
- showMove('U')
- planDelay(6)
- planDelay(4)
- -- line 2083
- level_planShow(function(count)
- return smallMoveXY(10, 30)
- end)
- showMove('u')
- showMove('r')
- level_planShow(function(count)
- addm(0, "help17")
- return true
- end)
- planDelay(11)
- planDelay(8)
- showMove('L')
- showMove('L')
- showMove('L')
- planDelay(8)
- -- line 2163
- showMove('D')
- level_planShow(function(count)
- return bigMoveXY(3, 28)
- end)
- planDelay(5)
- planDelay(6)
- level_planShow(function(count)
- addm(0, "help18")
- return true
- end)
- planDelay(4)
- -- 2205
- level_planShow(function(count)
- return smallMoveXY(7, 29)
- end)
- level_planShow(function(count)
- return smallMoveXY(7, 25)
- end)
- showMove('l')
- planDelay(3)
- showMove('u')
- planDelay(6)
- showMove('d')
- planDelay(6)
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- showMove('u')
- planDelay(4)
- showMove('u')
- planDelay(4)
- showMove('l')
- planDelay(5)
- -- line 2301
- showMove('r')
- showMove('r')
- showMove('r')
- showMove('r')
- showMove('u')
- showMove('u')
- planDelay(5)
- showMove('r')
- showMove('r')
- planDelay(4)
- planDelay(3)
- -- line 2343
- level_planShow(function(count)
- return bigMoveXY(8, 28)
- end)
- showMove('D')
- showMove('R')
- planDelay(5)
- showMove('U')
- planDelay(1)
- showMove('U')
- showMove('U')
- planDelay(11)
- planDelay(3)
- level_planShow(function(count)
- addm(0, "help19")
- return true
- end)
- planDelay(4)
- -- line 2421
- showMove('l')
- showMove('l')
- showMove('l')
- showMove('d')
- showMove('d')
- planDelay(1)
- showMove('r')
- showMove('r')
- showMove('r')
- showMove('d')
- showMove('d')
- showMove('d')
- planDelay(8)
- -- line 2461
- showMove('r')
- planDelay(2)
- showMove('r')
- level_planShow(function(count)
- return smallMoveXY(6, 22)
- end)
- level_planShow(function(count)
- return smallMoveXY(6, 28)
- end)
- planDelay(1)
- level_planShow(function(count)
- return smallMoveXY(14, 28)
- end)
- showMove('u')
- showMove('r')
- showMove('r')
- showMove('r')
- level_planShow(function(count)
- return smallMoveXY(17, 22)
- end)
- planDelay(2)
- -- line 2539
- showMove('l')
- showMove('l')
- planDelay(1)
- showMove('l')
- planDelay(9)
- level_planShow(function(count)
- addv(0, "help20")
- return true
- end)
- -- line 2571
- showMove('r')
- showMove('r')
- showMove('r')
- planDelay(3)
- planDelay(3)
- showMove('R')
- showMove('R')
- showMove('R')
- planDelay(3)
- showMove('L')
- showMove('L')
- showMove('L')
- planDelay(2)
- planDelay(3)
- -- line 2617
- level_planShow(function(count)
- return smallMoveXY(17, 26)
- end)
- showMove('l')
- showMove('l')
- showMove('l')
- planDelay(3)
- planDelay(3)
- showMove('L')
- showMove('L')
- showMove('L')
- planDelay(4)
- level_planShow(function(count)
- return bigMoveXY(10, 26)
- end)
- planDelay(4)
- planDelay(3)
- -- line 2683
- level_planShow(function(count)
- return smallMoveXY(18, 26)
- end)
- planDelay(15)
- showMove('u')
- planDelay(2)
- showMove('l')
- planDelay(1)
- level_planShow(function(count)
- addm(0, "help21")
- return true
- end)
- planDelay(5)
- planDelay(4)
- -- line 2751
- level_planShow(function(count)
- return bigMoveXY(15, 26)
- end)
- planDelay(4)
- showMove('R')
- planDelay(5)
- planDelay(7)
- -- line 2795
- showMove('l')
- planDelay(5)
- showMove('l')
- planDelay(8)
- showMove('r')
- planDelay(2)
- showMove('r')
- planDelay(3)
- level_planShow(function(count)
- addv(0, "help22")
- return true
- end)
- planDelay(70)
- -- line 2981
- level_planShow(function(count)
- addm(0, "help23")
- return true
- end)
- planDelay(114)
-